草庐IT

c++ - VC++ 2010 : Show open dialog hangs

全部标签

c++ - 优化是否会影响使用其 PDB 调试 VC++ 应用程序的能力?

为了能够正确调试发布版本,需要一个PDB文件。当编译器使用不同类型的优化(FPO、PGO、内部函数、内联等)时,PDB文件是否会变得不太可用?如果是这样,优化的效果是严重的还是仅仅导致相邻的代码行混淆?(我正在使用VC2005,并且总是会选择可调试性而不是优化性能-但问题是一般性的) 最佳答案 是的,优化后的代码不易调试。不仅缺少一些信息,有些信息还会产生很大的误导性。我认为最大的问题是局部变量。编译器可以在整个函数中为多个变量使用相同的堆栈地址或寄存器。正如其他海报所提到的,有时甚至弄清楚“this”指针是什么都需要一些时间。在调

c++ - 将静态库链接到我在 Visual Studio 2010 上的项目

我想使用oscpack(http://code.google.com/p/oscpack/)作为我项目的静态库,但是当我尝试将它添加到示例中时,出现链接错误,例如:1>oscpackd.lib(UdpSocket.obj):errorLNK2019:unresolvedexternalsymbol__imp__socket@12referencedinfunction"public:__thiscallUdpSocket::Implementation::Implementation(void)"(??0Implementation@UdpSocket@@QAE@XZ)1>oscpac

c++ - 这些 Visual Studio 2010 错误和警告的原因是什么?

我不知道我从VisualStudio2010收到这些错误的原因。这是我程序中第343行到第408行的代码:intcreate_den_from_img(char*img_file_name_part,intxlen,intylen,intzlen){IplImage*imgs=0;charstr[80];unsignedchar*data,*imgdata;/*allocatingmemory*/data=(unsignedchar*)malloc(xlen*ylen*zlen*sizeof(unsignedchar));if(data==NULL){printf("errorinal

c++ - vc++ - 如何将 CString 转换为 LPCWSTR

我试过这样做,但我没有找到任何方法。我问这个是因为我是Windows的新手。我尝试了STL-strings,但visualstudio2008-在STL-wstring-handling中积累了错误。关于那件事我以后会在其他问题中说很多。现在有人可以阐明这个问题吗? 最佳答案 最简单的方法是使用MFC字符串转换宏,定义在:https://learn.microsoft.com/en-us/cpp/atl/reference/string-conversion-macros?view=msvc-160例如,将CString转换为LPC

c++ - 在 VC++ Express 中包含和访问二进制数据的最干净的方法是什么?

我有一些二进制文件,我想将它们嵌入到我正在使用VC++ExpressEdition编译的dll中。我有几种方法可以做到这一点(比如将数据转换为数组,然后与代码一起编译),但我并不满意,我觉得我可能缺少一个简单、直接的解决方案。执行此操作最简洁、最简单的方法是什么? 最佳答案 我不知道这是否是一个选项,但是Unix(并且可能很容易在Windows上可用)程序xxd有一个输出C头文件的选项:xxd-ifile.bin>file.hfile.h将包含一个包含数据的unsignedchar数组的定义和一个告诉您长度的unsignedint阵

c++ - 构造函数上的 SFINAE 在 VC2017 中有效,但在 clang/gcc 中无效

这个问题在这里已经有了答案:std::enable_iftoconditionallycompileamemberfunction(8个答案)关闭4年前。#includetemplatestructS{template>S(){}template>S(int){}};Ss{};//errorinclang/gcc,OKinVC2017Ss{0};//errorinclang/gcc,OKinVC2017在这两种情况下,clang/gcc都尝试实例化由于SFINAE实际上应该丢弃的ctor。错误信息是:error:notypenamed'type'in'std::enable_if';'

c++ - Visual C++ 2010 - fatal error LNK1169 : one or more multiply defined symbols found

这是一个程序:#includeusingnamespacestd;intmain(){cout>i;try{if(i==0)throw0;if(i==2)throw"error";}catch(inti){cout在编译时(Windows7上的MicrosoftvisualC++2010express),我收到错误消息:fatalerrorLNK1169:oneormoremultiplydefinedsymbolsfound 最佳答案 其实这段代码没有错误。源文件的数量可能是问题所在。在同一个编译器中将此代码作为一个新项目尝试,或

c++ - 如何以编程方式检查 VC++ 中的 Internet 带宽?

我需要找到特定时间的可用带宽。代码必须在VisualC++或.Net系列中开发。如果有人知道怎么做,请帮助我。 最佳答案 检查带宽的唯一方法是实际尝试使用它,即从其他地方下载文件并测量吞吐量。即便如此,它也只是一个近似值,因为其他网络效应会影响结果:延迟非对称上传/下载其他流量 关于c++-如何以编程方式检查VC++中的Internet带宽?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

c++ - 有没有办法在不包含 stdafx.h 的情况下使用 VC++ 2010?

我已经成功安装了M$VC2010并开始使用它编写简单的程序。我对#include感到非常恼火,那么有没有什么办法可以不用它编译运行程序呢??? 最佳答案 它用于预编译的头文件。不要使用预编译的header,不要包含它。 关于c++-有没有办法在不包含stdafx.h的情况下使用VC++2010?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2909953/

c++ - 如何在 C++ 中进行内联汇编 (Visual Studio 2010)

我正在编写一个性能关键、数字运算的C++项目,其中70%的时间用于200行核心模块。我想使用内联汇编优化核心,但我对此完全陌生。不过,我知道一些x86汇编语言,包括GCC和NASM使用的语言。我所知道的:我必须将汇编程序指令放在_asm{}我希望它们所在的位置。问题:我不知道从哪里开始。当我的内联汇编发挥作用时,哪个寄存器中有什么? 最佳答案 您可以通过名称访问变量并将它们复制到寄存器中。这是来自MSDN的示例:intpower2(intnum,intpower){__asm{moveax,num;Getfirstargumentm